home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 24
/
Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso
/
Aminet
/
text
/
edit
/
GED_Hexedit.lha
/
GED_Hexedit
/
hex
/
english
/
insertbyte.ged
< prev
next >
Wrap
Text File
|
1998-01-02
|
4KB
|
2 lines
/* Optimized with RexxOpt 1.8 */
OPTIONS RESULTS;if (LEFT(ADDRESS(),6) ~="GOLDED") then;address 'GOLDED.1';'LOCK CURRENT RELEASE=4';if (RC ~=0) then;exit;OPTIONS FAILAT 6;SIGNAL ON SYNTAX;'REQUEST Body="Do you really want to insert a byte?|Program files cannot be used anymore!" Title="Attention" Button="OK|!Cancel"';if Result=0 then;do;'UNLOCK';exit;end;'QUERY Name=Column Var=Spalte';'QUERY Name=Code Var=Zeichen';if Spalte<11|Spalte>45|Zeichen=32 then;do;'REQUEST Problem="The cursor must be in the hex area at a byte"';'UNLOCK';exit;end;'SET Name=Insert Value=False';'QUERY Name=Line Var=Zeile';'QUERY Name=Lines Var=GesZeilen';'QUERY Name=Buffer Var=Inhalt';'GOTO Column=1';Zeile1=compress(substr(Inhalt,11,35));Zeile2=substr(Inhalt,48);Start=((Spalte-11)-((Spalte-11)%9))%2;Zeile1x=right(Zeile1,2);Zeile2x=right(Zeile2,1);if length(Zeile2)=16 then;do;if Start>0 then;do;Zeile1=left(Zeile1,2*Start)||"00"||substr(Zeile1,2*Start+1,30-2*Start);Zeile2=left(Zeile2,Start)||"·"||substr(Zeile2,Start+1,15-Start);end;else;do;Zeile1="00"||left(Zeile1,30);Zeile2="·"||left(Zeile2,15);end;Inhalt=overlay(substr(Zeile1,1,8),Inhalt,11);Inhalt=overlay(substr(Zeile1,9,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,17,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,25,8),Inhalt,38);Inhalt=overlay(Zeile2,Inhalt,48);'FIX Var=Inhalt';if Zeile=GesZeilen then;do;'TEXT cr T="'||Inhalt||'"';'DOWN';Addresse= d2x(x2d(left(Inhalt,8))+16);Addresse=reverse(overlay(reverse(Addresse),"00000000",1,8,"0"));Inhalt=Addresse||" "||Zeile1x||" "||Zeile2x;'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';end;else;do;'TEXT stay T="'||Inhalt||'"';end;if Zeile<GesZeilen-1 then;do;do i=Zeile+1 to GesZeilen-1;'DOWN';'QUERY Name=Buffer Var=Inhalt';Zeile1=compress(substr(Inhalt,11,35));Zeile2=substr(Inhalt,48);Inhalt=overlay(Zeile1x,Inhalt,11);Inhalt=overlay(substr(Zeile1,1,6),Inhalt,13);Inhalt=overlay(substr(Zeile1,7,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,15,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,23,8),Inhalt,38);Inhalt=overlay(Zeile2x,Inhalt,48);Inhalt=overlay(substr(Zeile2,1,15),Inhalt,49);'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';Zeile1x=right(Zeile1,2);Zeile2x=right(Zeile2,1);end;end;if Zeile<GesZeilen then;do;'DOWN';'QUERY Name=Buffer Var=Inhalt';Zeile1=compress(substr(Inhalt,11,35));Zeile2=substr(Inhalt,48);if length(Zeile2)=16 then;do;Inhalt=overlay(Zeile1x,Inhalt,11);Inhalt=overlay(substr(Zeile1,1,6),Inhalt,13);Inhalt=overlay(substr(Zeile1,7,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,15,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,23,8),Inhalt,38);Inhalt=overlay(Zeile2x,Inhalt,48);Inhalt=overlay(substr(Zeile2,1,15),Inhalt,49);'FIX Var=Inhalt';'TEXT cr T="'||Inhalt||'"';Zeile1x=right(Zeile1,2);Zeile2x=right(Zeile2,1);'DOWN';Addresse= d2x(x2d(left(Inhalt,8))+16);Addresse=reverse(overlay(reverse(Addresse),"00000000",1,8,"0"));Inhalt=Addresse||" "||Zeile1x||" "||Zeile2x;'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';end;else;do;Inhalt=overlay(Zeile1x,Inhalt,11);Inhalt=overlay(substr(Zeile1,1,6),Inhalt,13);Inhalt=overlay(substr(Zeile1,7,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,15,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,23,8),Inhalt,38);Inhalt=overlay(Zeile2x,Inhalt,48);Inhalt=overlay(Zeile2,Inhalt,49);'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';end;end;end;else;do;if Start>0 then;do;Zeile1=left(Zeile1,2*Start)||"00"||substr(Zeile1,2*Start+1,length(Zeile1)-2*Start);Zeile2=left(Zeile2,Start)||"·"||substr(Zeile2,Start+1,length(Zeile2)-Start);end;else;do;Zeile1="00"||Zeile1;Zeile2="·"||Zeile2;end;Inhalt=overlay(substr(Zeile1,1,8),Inhalt,11);Inhalt=overlay(substr(Zeile1,9,8),Inhalt,20);Inhalt=overlay(substr(Zeile1,17,8),Inhalt,29);Inhalt=overlay(substr(Zeile1,25,8),Inhalt,38);Inhalt=overlay(Zeile2,Inhalt,48);'FIX Var=Inhalt';'TEXT stay T="'||Inhalt||'"';end;'GOTO Line='||Zeile||' Column='||Spalte;'UNLOCK';exit;SYNTAX:;SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-(";'UNLOCK';exit